package com.coderdream.chapter12.decorator.a2;

public class SideBorder extends Border {

	private char borderChar; // 裝飾字符

	/**
	 * 以構造函數指定 Display 和裝飾字符
	 * 
	 * @param display
	 */
	protected SideBorder(Display display, char ch) {
		super(display);
		this.borderChar = ch;
	}

	/**
	 * 字數要再加上內容兩邊的裝飾字符
	 */
	@Override
	public int getColumns() {
		return 1 + display.getColumns() + 1;
	}

	/**
	 * 行數同內容的行數
	 */
	@Override
	public int getRows() {
		return display.getRows();
	}

	/**
	 * 指定該行的內容即為在內容指定行的兩邊加上裝飾字符
	 */
	@Override
	public String getRowText(int row) {
		return borderChar + display.getRowText(row) + borderChar;
	}

}
